package br.edu.utfpr.backuptools.BackupTools.view.action.configuracao;

import java.util.ArrayList;
import java.util.List;

import br.edu.utfpr.backuptools.BackupTools.controller.ControladorConfiguracaoImpl;
import br.edu.utfpr.backuptools.BackupTools.controller.interfaces.ControladorConfiguracao;
import br.edu.utfpr.backuptools.BackupTools.controller.validator.ConfiguracaoValidator;
import br.edu.utfpr.backuptools.BackupTools.model.dao.DaoConfiguracaoImpl;
import br.edu.utfpr.backuptools.BackupTools.model.dao.interfaces.DaoConfiguracao;
import br.edu.utfpr.backuptools.BackupTools.model.pojo.Configuracao;
import br.edu.utfpr.backuptools.BackupTools.view.action.AbstractConsultaAction;

public class ListarConfiguracaoAction extends AbstractConsultaAction<Configuracao>{
	
	DaoConfiguracao dao = new DaoConfiguracaoImpl();
	ControladorConfiguracao controlador = new ControladorConfiguracaoImpl(dao,new ConfiguracaoValidator());
	
	
	/**
	 * Como a configuração é sempre o mesmo registro, faço uma pequena gambiarra retornando uma lista com um item só 
	 * e pego o item index 0 na view para exibir 
	 */
	@Override
	public List<Configuracao> execute() {
		try {
			List<Configuracao> lista = new ArrayList<Configuracao>();
			Configuracao con = controlador.load(1L);
			lista.add(con);		
			return lista;
		} catch (Exception e) {
			e.printStackTrace();
			return new ArrayList<Configuracao>();
		}
		
	}

}
